export interface IMeetingEntity {
	startTime: string
	e164: string
	cascadeMeeting: boolean
	maxJoinedMt: number
	meetingMoid: string
	meetingName: string
	mtSize: string
	mt: any[]
	organiger: string
}
class MeetingResourceVO {
	id: number
	key: string
	multi: number
	name: string
	resolution: string
	totalCount: number
	usedCount: number
	constructor() {
		this.id = 0
		this.key = ''
		this.multi = 0
		this.name = ''
		this.resolution = ''
		this.totalCount = 0
		this.usedCount = 0
	}
}
/*
这段TypeScript代码定义了一个名为MeetingEntity的类
和一个名为MeetingCardProps的接口。
下面是对这段代码的详细解释：

# 类 MeetingEntity
MeetingEntity类代表一个会议实体，它包含了会议的各种属性和一些方法。
这个类的主要作用是存储和管理会议的相关信息。

## 类属性：
id: 会议的唯一标识符（数字类型）。
startTime: 会议开始时间（字符串类型）。
day: 会议日期（字符串类型）。
e164: 可能是与会者或会议相关的某种标识符（字符串类型）。
cascadeMeeting: 是否是级联会议（布尔类型）。
maxJoinedMt: 最大加入会议的人数（数字类型）。
meetingName: 会议名称（字符串类型）。
mtSize: 会议规模（字符串类型）。
mt: 会议技术细节数组（任意类型数组）。
meetingMoid: 会议的唯一对象标识符（字符串类型）。
organiger: 会议组织者（字符串类型）。
permanentMeeting: 是否是永久会议（数字类型）。
duration: 会议持续时间（字符串类型）。
fileNum: 会议文件数量（数字类型）。
mccUrl: 会议控制中心的URL（字符串类型，可选属性）。
quantumEncryption: 量子加密（数字类型）。
encryptedType: 加密类型（数字类型）。
superMtNum: 超级会议编号（数字类型）。
meetingCategory: 会议类别（数字类型）。
meetingRoom: 会议室数组（字符串类型数组）。
organigerExtNum: 组织者扩展号码（字符串类型）。
organigerMobile: 组织者手机号码（字符串类型）。
enableRtc: 是否启用实时通信（数字类型，可选属性）。
state: 会议状态，2为正常，8为异常，10和11的具体含义未给出（数字类型，可选属性）。
meetingResourceVO: 会议资源值对象，是一个MeetingResourceVO类的实例。

class MeetingResourceVO {
	id: number
	key: string
	multi: number
	name: string
	resolution: string
	totalCount: number
	usedCount: number
	constructor() {
		this.id = 0
		this.key = ''
		this.multi = 0
		this.name = ''
		this.resolution = ''
		this.totalCount = 0
		this.usedCount = 0
	}
}



## 构造函数：
构造函数初始化了MeetingEntity的所有属性。
其中，meetingResourceVO属性被初始化为一个新的MeetingResourceVO实例。


# 接口 MeetingCardProps
MeetingCardProps接口定义了MeetingCard组件的属性类型。

## 属性：
className: 可选的CSS类名（字符串类型）。
entity: MeetingEntity类的实例，代表会议实体。
orderArr: 一个包含两个数字的数组，可能用于排序或其他用途。

这种写法在TypeScript中很常见，用于定义具有特定结构的数据模型，
并通过类和接口来确保数据的类型安全和一致性。
通过这种方式，开发者可以创建具有明确属性和行为的对象，
同时利用TypeScript的类型系统来提高代码的可维护性和可读性。

*/
export class MeetingEntity {
	id: number
	startTime: string
	day: string
	e164: string
	cascadeMeeting: boolean
	maxJoinedMt: number
	meetingName: string
	mtSize: string
	mt: any[]
	meetingMoid: string
	organiger: string
	meetingResourceVO: MeetingResourceVO
	permanentMeeting: number
	duration: string
	fileNum: number
	mccUrl?: string
	quantumEncryption: number
	encryptedType: number
	superMtNum: number
	meetingCategory: number
	meetingRoom: string[]
	organigerExtNum: string
	organigerMobile: string
	enableRtc?: number
	state?: 2 | 8 | null | 10 | 11 // 会议状态, 2为正常,8为异常
	constructor() {
		this.id = 0
		this.startTime = ''
		this.day = ''
		this.e164 = ''
		this.cascadeMeeting = false
		this.maxJoinedMt = 0
		this.meetingName = ''
		this.meetingMoid = ''
		this.mtSize = ''
		this.mt = []
		this.organiger = ''
		this.permanentMeeting = 0
		this.duration = ''
		this.fileNum = 0
		this.mccUrl = ''
		this.quantumEncryption = 0
		this.encryptedType = 0
		this.superMtNum = 0
		this.meetingCategory = 0
		this.meetingRoom = []
		this.organigerExtNum = ''
		this.organigerMobile = ''
		var a = new MeetingResourceVO()
		a.name = ''
		this.meetingResourceVO = a
	}
}
export class MeetingInfo {
	subject: string
	vmrName: string
	beginTime: string
	endTime: string
	duration: string
	e164: string
	onlineNum: number
	totalNum: number
	meetingRate: string
	meetingResolution: string
	cloudMode: number
	cloudModelType: number
	encryptionType: number
	doubleFlowLimit: string
	liveUrl: string
	confType: number
	superMtNum: number
	createdBy: any
	meetingResourceVO: MeetingResourceVO
	constructor() {
		this.subject = ''
		this.vmrName = ''
		this.beginTime = ''
		this.endTime = ''
		this.duration = ''
		this.e164 = ''
		this.onlineNum = 0
		this.totalNum = 0
		this.meetingRate = ''
		this.meetingResolution = ''
		this.cloudMode = 0
		this.confType = 0
		this.cloudModelType = 0
		this.encryptionType = 0
		this.doubleFlowLimit = ''
		this.liveUrl = ''
		this.superMtNum = 0
		this.createdBy = {
			name: '',
		}
		this.meetingResourceVO = new MeetingResourceVO()
	}
}
export class Dept {
	title: string
	name: string
	departmentName: string
	fullPath: string
	deptPosition: string
	constructor() {
		this.title = ''
		this.name = ''
		this.departmentName = ''
		this.fullPath = ''
		this.deptPosition = ''
	}
}
export class PopupUserInfo {
	depts: Dept[]
	e164: string
	email: string
	isShow: number
	location: string
	mobilePhone: string
	moid: string
	mugshot128: string
	name: string
	portrait32: string
	portrait64: string
	portrait128: string
	workPhone: string
	personalBriefly: string
	accountType?: number
	constructor() {
		this.depts = []
		this.e164 = ''
		this.email = ''
		this.isShow = 0
		this.location = ''
		this.mobilePhone = ''
		this.moid = ''
		this.mugshot128 = ''
		this.name = ''
		this.portrait32 = ''
		this.portrait64 = ''
		this.portrait128 = ''
		this.workPhone = ''
		this.personalBriefly = ''
		this.accountType = 0
	}
}
